package br.com.bestOffer.discoRigido.bean;

import java.util.List;

import javax.annotation.PostConstruct;
import javax.ejb.EJB;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.ViewScoped;

import br.com.bestOffer.ejb.discoRigido.entity.DiscoRigido;
import br.com.bestOffer.ejb.discoRigido.service.DiscoRigidoServiceBean;
import br.com.bestOffer.ejb.fabricante.entity.Fabricante;
import br.com.bestOffer.ejb.fabricante.service.FabricanteServiceBean;
import br.com.bestOffer.exceptions.BestOfferListaVaziaException;
import br.com.bestOffer.util.BaseManagedBean;
import br.com.bestOffer.util.BestOfferConstantes;
import br.com.bestOffer.util.Constantes;
import br.com.bestOffer.util.WebResources;

@ManagedBean
@ViewScoped
public class PesquisaAvancadaDiscoRigidoManagedBean extends BaseManagedBean {

	private static final long serialVersionUID = -7484648329813334242L;
	
	
	private List<Fabricante> listaFabricantes;
	
	private List<DiscoRigido> listaDiscoRigido;
	
	private String idFabricante;
	
	private String modelo;
	
	@EJB
	private DiscoRigidoServiceBean discoRigidoServiceBean;
	
	@EJB
	private FabricanteServiceBean fabricanteServiceBean;
	
	@PostConstruct
	public void init() throws BestOfferListaVaziaException{
		listaDiscoRigido = discoRigidoServiceBean.listarTodosDiscos();
		listaFabricantes = fabricanteServiceBean.listarTodosFabricantes();
	}
	
	public void pesquisarDisco(){
		listaDiscoRigido = discoRigidoServiceBean.pesquisarPlacaVideo(idFabricante, modelo);
		
		if(listaDiscoRigido.isEmpty()){
			addMessageInfo("Nenhum resultado encontrado!");
		}
	}

	public String verAnuncios(DiscoRigido disco){
		WebResources.getFlashContext().put(Constantes.PRODUTO, disco);
		return BestOfferConstantes.ANUNCIOS_DISCO_RIGIDO;
	}

	public List<Fabricante> getListaFabricantes() {
		return listaFabricantes;
	}


	public void setListaFabricantes(List<Fabricante> listaFabricantes) {
		this.listaFabricantes = listaFabricantes;
	}


	public List<DiscoRigido> getListaDiscoRigido() {
		return listaDiscoRigido;
	}


	public void setListaDiscoRigido(List<DiscoRigido> listaDiscoRigido) {
		this.listaDiscoRigido = listaDiscoRigido;
	}


	public String getIdFabricante() {
		return idFabricante;
	}


	public void setIdFabricante(String idFabricante) {
		this.idFabricante = idFabricante;
	}


	public String getModelo() {
		return modelo;
	}


	public void setModelo(String modelo) {
		this.modelo = modelo;
	}

	
	
}
